package cn.iocoder.yudao.module.forward.utils;

import java.math.BigInteger;
import java.util.UUID;

//https://blog.csdn.net/q7w8e9r4/article/details/144857815
public class ShortUniqueStringGenerator {

    public static String generate() {
        // 生成一个标准的UUID
        UUID uuid = UUID.randomUUID();

        // 将UUID转换为BigInteger，以便进行数值操作
        BigInteger bigInt = new BigInteger(uuid.toString().replace("-", ""), 16);

        // 通过对BigInteger取模，得到一个较小的数值范围（这里选择的是64位整数范围）
        // 然后转换为16进制字符串，并取前8个字符作为短UUID
        return bigInt.mod(new BigInteger("FFFFFFFF", 16)).toString(16).toUpperCase();
    }

    public static void main(String[] args) {
        System.out.println(generate());
    }
}
